package com.pony.iphone.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pony.iphone.entity.Error;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author pony
 */
@Mapper
public interface ErrorMapper extends BaseMapper<Error> {

    // 使用 MyBatis Plus 的 Wrapper 方式查询
    default Error findByErrorName(String name) {
        return selectOne(new com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<Error>().eq("name", name));
    }

    // 批量查询
    default List<Error> findByErrorNames(List<String> names) {
        return selectList(new com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<Error>()
                .in("name", names));
    }

    /**
     * 根据错误名称列表和时间范围查询错误信息
     */
    List<Error> findByErrorNamesAndTimeRange(
            @Param("errorNames") List<String> errorNames,
            @Param("startTime") LocalDateTime startTime,
            @Param("endTime") LocalDateTime endTime);

}